home *** CD-ROM | disk | FTP | other *** search
- /* elprnt.f -- translated by f2c (version of 3 February 1990 3:36:42).
- You must link the resulting object file with the libraries:
- -lF77 -lI77 -lm -lc (in that order)
- */
-
- #include "f2c.h"
-
- /* Common Block Declarations */
-
- struct {
- integer ielmnt, isbckt, nsbckt, iunsat, nunsat, itemps, numtem, isens,
- nsens, ifour, nfour, ifield, icode, idelim, icolum, insize,
- junode, lsbkpt, numbkp, iorder, jmnode, iur, iuc, ilc, ilr,
- numoff, isr, nmoffc, iseq, iseq1, neqn, nodevs, ndiag, iswap,
- iequa, macins, lvnim1, lx0, lvn, lynl, lyu, lyl, lx1, lx2, lx3,
- lx4, lx5, lx6, lx7, ld0, ld1, ltd, imynl, imvn, lcvn, nsnod,
- nsmat, nsval, icnod, icmat, icval, loutpt, lpol, lzer, irswpf,
- irswpr, icswpf, icswpr, irpt, jcpt, irowno, jcolno, nttbr, nttar,
- lvntmp;
- } tabinf_;
-
- #define tabinf_1 tabinf_
-
- struct {
- doublereal atime, aprog[3], adate, atitle[10], defl, defw, defad, defas,
- rstats[50];
- integer iwidth, lwidth, nopage;
- } miscel_;
-
- #define miscel_1 miscel_
-
- struct {
- integer locate[50], jelcnt[50], nunods, ncnods, numnod, nstop, nut, nlt,
- nxtrm, ndist, ntlin, ibr, numvs, numalt, numcyc;
- } cirdat_;
-
- #define cirdat_1 cirdat_
-
- struct {
- integer iprnta, iprntl, iprntm, iprntn, iprnto, limtim, limpts, lvlcod,
- lvltim, itl1, itl2, itl3, itl4, itl5, itl6, igoof, nogo, keof;
- } flags_;
-
- #define flags_1 flags_
-
- struct {
- doublereal tstep, tstop, tstart, delmax, tdmax, forfre;
- integer jtrflg;
- } tran_;
-
- #define tran_1 tran_
-
- struct {
- doublereal value[200000];
- } blank_;
-
- #define blank_1 blank_
-
- struct {
- doublereal omega, time, delta, delold[7], ag[7], vt, xni, egfet, xmu,
- sfactr;
- integer mode, modedc, icalc, initf, method, iord, maxord, noncon, iterno,
- itemno, nosolv, modac, ipiv, ivmflg, ipostp, iscrch, iofile;
- } status_;
-
- #define status_1 status_
-
- /* Table of constant values */
-
- static integer c__0 = 0;
- static integer c__1 = 1;
-
- /*< subroutine elprnt >*/
- /* Subroutine */ int elprnt_()
- {
- /* Initialized data */
-
- static struct {
- char e_1[32];
- doublereal e_2;
- } equiv_72 = { {'c', 'i', 'r', 'c', 'u', 'i', 't', ' ', 'e', 'l', 'e',
- 'm', 'e', 'n', 't', ' ', 's', 'u', 'm', 'm', 'a', 'r', 'y',
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
-
- #define eltitl ((doublereal *)&equiv_72)
-
- static struct {
- char e_1[48];
- doublereal e_2;
- } equiv_73 = { {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'p', 'u', 'l',
- 's', 'e', ' ', ' ', ' ', 's', 'i', 'n', ' ', ' ', ' ', ' ',
- ' ', 'e', 'x', 'p', ' ', ' ', ' ', ' ', ' ', 'p', 'w', 'l',
- ' ', ' ', ' ', ' ', ' ', 's', 'f', 'f', 'm', ' ', ' ', ' ',
- ' '}, 0. };
-
- #define astyp ((doublereal *)&equiv_73)
-
- static struct {
- char e_1[8];
- doublereal e_2;
- } equiv_74 = { {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
-
- #define ablnk (*(doublereal *)&equiv_74)
-
- static struct {
- char e_1[8];
- doublereal e_2;
- } equiv_75 = { {'o', 'f', 'f', ' ', ' ', ' ', ' ', ' '}, 0. };
-
- #define aoff (*(doublereal *)&equiv_75)
-
-
- /* Format strings */
- static char fmt_21[] = "(//\0020**** resistors\002/\0020 name \
- nodes value tc1 tc2\002//)";
- static char fmt_31[] = "(6x,a8,2i5,1p3d11.2)";
- static char fmt_51[] = "(//\0020**** capacitors and inductors\002/\0020 \
- name nodes in cond value\002//)";
- static char fmt_63[] = "(6x,a8,2i5,1pd11.2,\002 variable\002)";
- static char fmt_81[] = "(//\0020**** mutual inductors\002/\0020 name\
- coupled inductors value\002//)";
- static char fmt_91[] = "(6x,a8,4x,a8,2x,a8,1pd10.2)";
- static char fmt_101[] = "(//\0020**** voltage-controlled current source\
- s\002/\0020 name + - dimension function\002)";
- static char fmt_111[] = "(6x,a8,2i5,i8,9x,\002poly\002)";
- static char fmt_121[] = "(//\0020**** voltage-controlled voltage source\
- s\002/\0020 name + - dimension function\002)";
- static char fmt_141[] = "(//\0020**** current-controlled current source\
- s\002/\0020 name + - dimension function\002)";
- static char fmt_161[] = "(//\0020**** current-controlled voltage source\
- s\002/\0020 name + - dimension function\002)";
- static char fmt_171[] = "(//\0020**** independent sources\002/\0020 \
- name nodes dc value ac value ac phase transient\002//)";
- static char fmt_181[] = "(6x,a8,2i5,1p3d11.2,2x,a8)";
- static char fmt_191[] = "(\0020\002,42x,\002initial value\002,1pd11.2,/,\
- 43x,\002pulsed value.\002,d11.2,/,43x,\002delay time...\002,d11.2,/,43x,\002\
- risetime.....\002,d11.2,/,43x,\002falltime.....\002,d11.2,/,43x,\002width...\
- .....\002,d11.2,/,43x,\002period.......\002,d11.2,/)";
- static char fmt_201[] = "(\0020\002,42x,\002offset.......\002,1pd11.2,/,\
- 43x,\002amplitude....\002,d11.2,/,43x,\002frequency....\002,d11.2,/,43x,\002\
- delay........\002,d11.2,/,43x,\002theta........\002,d11.2,/)";
- static char fmt_211[] = "(\0020\002,42x,\002initial value\002,1pd11.2,/,\
- 43x,\002pulsed value.\002,d11.2,/,43x,\002rise delay...\002,d11.2,/,43x,\002\
- rise tau.....\002,d11.2,/,43x,\002fall delay...\002,d11.2,/,43x,\002fall tau\
- .....\002,d11.2,/)";
- static char fmt_221[] = "(\0020\002,49x,\002time value\002//,(46x,\
- 1p2d11.2))";
- static char fmt_226[] = "(1x)";
- static char fmt_231[] = "(\0020\002,42x,\002offset.......\002,1pd11.2,/,\
- 43x,\002amplitude....\002,d11.2,/,43x,\002carrier freq.\002,d11.2,/,43x,\002\
- modn index...\002,d11.2,/,43x,\002signal freq..\002,d11.2,/)";
- static char fmt_251[] = "(//\0020**** transmission lines\002/\0020 n\
- ame nodes z0 td\002//)";
- static char fmt_256[] = "(6x,a8,4i5,1p2d11.2)";
- static char fmt_261[] = "(//\0020**** diodes\002/\0020 name +\
- - model area\002//)";
- static char fmt_271[] = "(6x,a8,2i5,2x,a8,f8.3,2x,a8)";
- static char fmt_291[] = "(//\0020**** bipolar junction transistors\002\
- /\0020 name c b e s model area\002//)";
- static char fmt_301[] = "(6x,a8,4i5,2x,a8,f8.3,2x,a8)";
- static char fmt_321[] = "(//\0020**** jfets\002/\0020 name d \
- g s model area\002//)";
- static char fmt_331[] = "(6x,a8,3i5,2x,a8,f8.3,2x,a8)";
- static char fmt_351[] = "(//\0020**** mosfets\002,/,\0020name\002,6x,\
- \002d g s b model\002,6x,\002w ad pd rds\002/37x,\
- \002l as ps rss\002,//)";
- static char fmt_361[] = "(1x,a8,4i4,1x,a8,1p4d8.1,/34x,1p4d8.1,1x,a8)";
- static char fmt_401[] = "(//\0020**** subcircuit calls\002/\0020 nam\
- e subcircuit external nodes\002//)";
- static char fmt_416[] = "(6x,a8,2x,a8,4x,20i5)";
- static char fmt_418[] = "(28x,20i5)";
-
- /* System generated locals */
- integer i_1, i_2;
-
- /* Builtin functions */
- integer s_wsfe(), e_wsfe(), do_fio();
-
- /* Local variables */
- static doublereal anam;
- static integer itab[25], ltab, node, locm, locn, locp, locv, locs, node1,
- node2, node3, node4, j;
- extern /* Subroutine */ int title_();
- static integer ispot, itype, jstop, nnodx, locsv, id;
- #define nodplc ((integer *)&blank_1)
- #define cvalue ((complex *)&blank_1)
- static integer ititle;
- extern /* Subroutine */ int sizmem_();
- static integer nparam, nl1, nl2, jstart;
- static doublereal aic;
- static integer ndprln, loc;
-
- /* Fortran I/O blocks */
- static cilist io__9 = { 0, 0, 0, fmt_21, 0 };
- static cilist io__13 = { 0, 0, 0, fmt_31, 0 };
- static cilist io__15 = { 0, 0, 0, fmt_51, 0 };
- static cilist io__16 = { 0, 0, 0, fmt_31, 0 };
- static cilist io__20 = { 0, 0, 0, fmt_63, 0 };
- static cilist io__21 = { 0, 0, 0, fmt_81, 0 };
- static cilist io__24 = { 0, 0, 0, fmt_91, 0 };
- static cilist io__25 = { 0, 0, 0, fmt_101, 0 };
- static cilist io__26 = { 0, 0, 0, fmt_111, 0 };
- static cilist io__27 = { 0, 0, 0, fmt_121, 0 };
- static cilist io__28 = { 0, 0, 0, fmt_111, 0 };
- static cilist io__29 = { 0, 0, 0, fmt_141, 0 };
- static cilist io__30 = { 0, 0, 0, fmt_111, 0 };
- static cilist io__31 = { 0, 0, 0, fmt_161, 0 };
- static cilist io__32 = { 0, 0, 0, fmt_111, 0 };
- static cilist io__33 = { 0, 0, 0, fmt_171, 0 };
- static cilist io__37 = { 0, 0, 0, fmt_181, 0 };
- static cilist io__40 = { 0, 0, 0, fmt_191, 0 };
- static cilist io__42 = { 0, 0, 0, fmt_201, 0 };
- static cilist io__43 = { 0, 0, 0, fmt_211, 0 };
- static cilist io__44 = { 0, 0, 0, fmt_221, 0 };
- static cilist io__45 = { 0, 0, 0, fmt_226, 0 };
- static cilist io__46 = { 0, 0, 0, fmt_231, 0 };
- static cilist io__47 = { 0, 0, 0, fmt_251, 0 };
- static cilist io__50 = { 0, 0, 0, fmt_256, 0 };
- static cilist io__51 = { 0, 0, 0, fmt_261, 0 };
- static cilist io__54 = { 0, 0, 0, fmt_271, 0 };
- static cilist io__55 = { 0, 0, 0, fmt_291, 0 };
- static cilist io__56 = { 0, 0, 0, fmt_301, 0 };
- static cilist io__57 = { 0, 0, 0, fmt_321, 0 };
- static cilist io__58 = { 0, 0, 0, fmt_331, 0 };
- static cilist io__59 = { 0, 0, 0, fmt_351, 0 };
- static cilist io__60 = { 0, 0, 0, fmt_361, 0 };
- static cilist io__61 = { 0, 0, 0, fmt_401, 0 };
- static cilist io__69 = { 0, 0, 0, fmt_416, 0 };
- static cilist io__70 = { 0, 0, 0, fmt_418, 0 };
- static cilist io__71 = { 0, 0, 0, fmt_226, 0 };
-
-
- /*< implicit double precision (a-h,o-z) >*/
-
- /* this routine prints a circuit element summary. */
-
- /* spice version 2g.6 sccsid=tabinf 3/15/83 */
- /*< common /tabinf/ ielmnt,isbckt,nsbckt,iunsat,nunsat,itemps,numtem, >*/
- /*< 1 isens,nsens,ifour,nfour,ifield,icode,idelim,icolum,insize, >*/
- /*< 2 junode,lsbkpt,numbkp,iorder,jmnode,iur,iuc,ilc,ilr,numoff,isr, >*/
- /*< 3 nmoffc,iseq,iseq1,neqn,nodevs,ndiag,iswap,iequa,macins,lvnim1, >*/
- /*< 4 lx0,lvn,lynl,lyu,lyl,lx1,lx2,lx3,lx4,lx5,lx6,lx7,ld0,ld1,ltd, >*/
- /*< 5 imynl,imvn,lcvn,nsnod,nsmat,nsval,icnod,icmat,icval, >*/
- /*< 6 loutpt,lpol,lzer,irswpf,irswpr,icswpf,icswpr,irpt,jcpt, >*/
- /*< 7 irowno,jcolno,nttbr,nttar,lvntmp >*/
- /* spice version 2g.6 sccsid=miscel 3/15/83 */
- /*< common /miscel/ atime,aprog(3),adate,atitle(10),defl,defw,defad, >*/
- /*< 1 defas,rstats(50),iwidth,lwidth,nopage >*/
- /* spice version 2g.6 sccsid=cirdat 3/15/83 */
- /*< common /cirdat/ locate(50),jelcnt(50),nunods,ncnods,numnod,nstop, >*/
- /*< 1 nut,nlt,nxtrm,ndist,ntlin,ibr,numvs,numalt,numcyc >*/
- /* spice version 2g.6 sccsid=flags 3/15/83 */
- /*< common /flags/ iprnta,iprntl,iprntm,iprntn,iprnto,limtim,limpts, >*/
- /*< 1 lvlcod,lvltim,itl1,itl2,itl3,itl4,itl5,itl6,igoof,nogo,keof >*/
- /* spice version 2g.6 sccsid=tran 3/15/83 */
- /*< common /tran/ tstep,tstop,tstart,delmax,tdmax,forfre,jtrflg >*/
- /* spice version 2g.6 sccsid=blank 3/15/83 */
- /*< common /blank/ value(200000) >*/
- /* spice version 2g.6 sccsid=status 3/15/83 */
- /*< common /status/ omega,time,delta,delold(7),ag(7),vt,xni,egfet, >*/
- /*< 1 xmu,sfactr,mode,modedc,icalc,initf,method,iord,maxord,noncon, >*/
- /*< 2 iterno,itemno,nosolv,modac,ipiv,ivmflg,ipostp,iscrch,iofile >*/
- /*< integer nodplc(64) >*/
- /*< complex cvalue(32) >*/
- /*< equivalence (value(1),nodplc(1),cvalue(1)) >*/
-
-
- /*< dimension itab(25),astyp(6) >*/
- /*< dimension eltitl(4) >*/
- /*< data eltitl / 8hcircuit , 8helement , 8hsummary , 8h / >*/
- /*< data astyp / 1h , 5hpulse, 3hsin, 3hexp, 3hpwl, 4hsffm / >*/
- /*< data ablnk,aoff /1h ,3hoff/ >*/
-
- /* print listing of elements */
-
- /*< call title(0,lwidth,1,eltitl) >*/
- title_(&c__0, &miscel_1.lwidth, &c__1, eltitl);
-
- /* print resistors */
-
- /*< if (jelcnt(1).eq.0) go to 50 >*/
- if (cirdat_1.jelcnt[0] == 0) {
- goto L50;
- }
- /*< ititle=0 >*/
- ititle = 0;
- /*< 21 format(//'0**** resistors'/'0 name nodes value >*/
- /*< 1 tc1 tc2'//) >*/
- /* L21: */
- /*< loc=locate(1) >*/
- loc = cirdat_1.locate[0];
- /*< 30 if ((loc.eq.0).or.(nodplc(loc+8).ne.0)) go to 50 >*/
- L30:
- if (loc == 0 || nodplc[loc + 7] != 0) {
- goto L50;
- }
- /*< if (ititle.eq.0) write (iofile,21) >*/
- if (ititle == 0) {
- io__9.ciunit = status_1.iofile;
- s_wsfe(&io__9);
- e_wsfe();
- }
- /*< ititle=1 >*/
- ititle = 1;
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< node1=nodplc(loc+2) >*/
- node1 = nodplc[loc + 1];
- /*< node2=nodplc(loc+3) >*/
- node2 = nodplc[loc + 2];
- /*< write (iofile,31) value(locv),nodplc(junode+node1), >*/
- /*< 1 nodplc(junode+node2),value(locv+2),value(locv+3),value(locv+4) >*/
- io__13.ciunit = status_1.iofile;
- s_wsfe(&io__13);
- do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node1 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node2 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&blank_1.value[locv + 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&blank_1.value[locv + 2], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&blank_1.value[locv + 3], (ftnlen)sizeof(doublereal)
- );
- e_wsfe();
- /*< 31 format(6x,a8,2i5,1p3d11.2) >*/
- /*< 40 loc=nodplc(loc) >*/
- /* L40: */
- loc = nodplc[loc - 1];
- /*< go to 30 >*/
- goto L30;
-
- /* print capacitors and inductors */
-
- /*< 50 if ((jelcnt(2)+jelcnt(3)).eq.0) go to 80 >*/
- L50:
- if (cirdat_1.jelcnt[1] + cirdat_1.jelcnt[2] == 0) {
- goto L80;
- }
- /*< ititle=0 >*/
- ititle = 0;
- /*< 51 format(//'0**** capacitors and inductors'/'0 name nodes >*/
- /*< 1 in cond value'//) >*/
- /* L51: */
- /*< do 70 id=2,3 >*/
- for (id = 2; id <= 3; ++id) {
- /*< loc=locate(id) >*/
- loc = cirdat_1.locate[id - 1];
- /*< 60 if (loc.eq.0) go to 70 >*/
- L60:
- if (loc == 0) {
- goto L70;
- }
- /*< if ((id.eq.2).and.(nodplc(loc+12).ne.0)) go to 70 >*/
- if (id == 2 && nodplc[loc + 11] != 0) {
- goto L70;
- }
- /*< if ((id.eq.3).and.(nodplc(loc+14).ne.0)) go to 70 >*/
- if (id == 3 && nodplc[loc + 13] != 0) {
- goto L70;
- }
- /*< if (ititle.eq.0) write (iofile,51) >*/
- if (ititle == 0) {
- io__15.ciunit = status_1.iofile;
- s_wsfe(&io__15);
- e_wsfe();
- }
- /*< ititle=1 >*/
- ititle = 1;
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< node1=nodplc(loc+2) >*/
- node1 = nodplc[loc + 1];
- /*< node2=nodplc(loc+3) >*/
- node2 = nodplc[loc + 2];
- /*< if (nodplc(loc+4).ne.1) go to 62 >*/
- if (nodplc[loc + 3] != 1) {
- goto L62;
- }
- /*< write (iofile,31) value(locv),nodplc(junode+node1), >*/
- /*< 1 nodplc(junode+node2),value(locv+2),value(locv+1) >*/
- io__16.ciunit = status_1.iofile;
- s_wsfe(&io__16);
- do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(
- doublereal));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node1 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node2 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&blank_1.value[locv + 1], (ftnlen)sizeof(
- doublereal));
- do_fio(&c__1, (char *)&blank_1.value[locv], (ftnlen)sizeof(doublereal)
- );
- e_wsfe();
- /*< go to 65 >*/
- goto L65;
- /*< 62 ltab=7 >*/
- L62:
- ltab = 7;
- /*< if (id.eq.3) ltab=10 >*/
- if (id == 3) {
- ltab = 10;
- }
- /*< call sizmem(nodplc(loc+ltab),nparam) >*/
- sizmem_(&nodplc[loc + ltab - 1], &nparam);
- /*< ispot=nodplc(loc+ltab)+1 >*/
- ispot = nodplc[loc + ltab - 1] + 1;
- /*< write (iofile,63) value(locv),nodplc(junode+node1), >*/
- /*< 1 nodplc(junode+node2),value(locv+2) >*/
- io__20.ciunit = status_1.iofile;
- s_wsfe(&io__20);
- do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(
- doublereal));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node1 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node2 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&blank_1.value[locv + 1], (ftnlen)sizeof(
- doublereal));
- e_wsfe();
- /*< 63 format(6x,a8,2i5,1pd11.2,' variable') >*/
- /*< 65 loc=nodplc(loc) >*/
- L65:
- loc = nodplc[loc - 1];
- /*< go to 60 >*/
- goto L60;
- /*< 70 continue >*/
- L70:
- ;}
-
- /* print mutual inductors */
-
- /*< 80 if (jelcnt(4).eq.0) go to 100 >*/
- L80:
- if (cirdat_1.jelcnt[3] == 0) {
- goto L100;
- }
- /*< ititle=0 >*/
- ititle = 0;
- /*< 81 format(//'0**** mutual inductors'/'0 name coupled induc >*/
- /*< 1tors value'//) >*/
- /* L81: */
- /*< loc=locate(4) >*/
- loc = cirdat_1.locate[3];
- /*< 90 if ((loc.eq.0).or.(nodplc(loc+6).ne.0)) go to 110 >*/
- L90:
- if (loc == 0 || nodplc[loc + 5] != 0) {
- goto L110;
- }
- /*< if (ititle.eq.0) write (iofile,81) >*/
- if (ititle == 0) {
- io__21.ciunit = status_1.iofile;
- s_wsfe(&io__21);
- e_wsfe();
- }
- /*< ititle=1 >*/
- ititle = 1;
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< nl1=nodplc(loc+2) >*/
- nl1 = nodplc[loc + 1];
- /*< nl1=nodplc(nl1+1) >*/
- nl1 = nodplc[nl1];
- /*< nl2=nodplc(loc+3) >*/
- nl2 = nodplc[loc + 2];
- /*< nl2=nodplc(nl2+1) >*/
- nl2 = nodplc[nl2];
- /*< write (iofile,91) value(locv),value(nl1),value(nl2),value(locv+1) >*/
- io__24.ciunit = status_1.iofile;
- s_wsfe(&io__24);
- do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&blank_1.value[nl1 - 1], (ftnlen)sizeof(doublereal))
- ;
- do_fio(&c__1, (char *)&blank_1.value[nl2 - 1], (ftnlen)sizeof(doublereal))
- ;
- do_fio(&c__1, (char *)&blank_1.value[locv], (ftnlen)sizeof(doublereal));
- e_wsfe();
- /*< 91 format(6x,a8,4x,a8,2x,a8,1pd10.2) >*/
- /*< 95 loc=nodplc(loc) >*/
- /* L95: */
- loc = nodplc[loc - 1];
- /*< go to 90 >*/
- goto L90;
-
- /* print nonlinear voltage controlled sources */
-
- /*< 100 if (jelcnt(5).eq.0) go to 120 >*/
- L100:
- if (cirdat_1.jelcnt[4] == 0) {
- goto L120;
- }
- /*< ititle=0 >*/
- ititle = 0;
- /*< 101 format(//'0**** voltage-controlled current sources'/'0 name >*/
- /*< 1 + - dimension function') >*/
- /* L101: */
- /*< loc=locate(5) >*/
- loc = cirdat_1.locate[4];
- /*< 110 if ((loc.eq.0).or.(nodplc(loc+13).ne.0)) go to 120 >*/
- L110:
- if (loc == 0 || nodplc[loc + 12] != 0) {
- goto L120;
- }
- /*< if (ititle.eq.0) write (iofile,101) >*/
- if (ititle == 0) {
- io__25.ciunit = status_1.iofile;
- s_wsfe(&io__25);
- e_wsfe();
- }
- /*< ititle=1 >*/
- ititle = 1;
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< node1=nodplc(loc+2) >*/
- node1 = nodplc[loc + 1];
- /*< node2=nodplc(loc+3) >*/
- node2 = nodplc[loc + 2];
- /*< write (iofile,111) value(locv),nodplc(junode+node1), >*/
- /*< 1 nodplc(junode+node2),nodplc(loc+4) >*/
- io__26.ciunit = status_1.iofile;
- s_wsfe(&io__26);
- do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node1 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node2 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[loc + 3], (ftnlen)sizeof(integer));
- e_wsfe();
- /*< 111 format(6x,a8,2i5,i8,9x,'poly') >*/
- /*< 115 loc=nodplc(loc) >*/
- /* L115: */
- loc = nodplc[loc - 1];
- /*< go to 110 >*/
- goto L110;
-
- /* nonlinear voltage controlled voltage sources */
-
- /*< 120 if (jelcnt(6).eq.0) go to 140 >*/
- L120:
- if (cirdat_1.jelcnt[5] == 0) {
- goto L140;
- }
- /*< ititle=0 >*/
- ititle = 0;
- /*< 121 format(//'0**** voltage-controlled voltage sources'/'0 name >*/
- /*< 1 + - dimension function') >*/
- /* L121: */
- /*< loc=locate(6) >*/
- loc = cirdat_1.locate[5];
- /*< 130 if ((loc.eq.0).or.(nodplc(loc+14).ne.0)) go to 140 >*/
- L130:
- if (loc == 0 || nodplc[loc + 13] != 0) {
- goto L140;
- }
- /*< if (ititle.eq.0) write (iofile,121) >*/
- if (ititle == 0) {
- io__27.ciunit = status_1.iofile;
- s_wsfe(&io__27);
- e_wsfe();
- }
- /*< ititle=1 >*/
- ititle = 1;
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< node1=nodplc(loc+2) >*/
- node1 = nodplc[loc + 1];
- /*< node2=nodplc(loc+3) >*/
- node2 = nodplc[loc + 2];
- /*< write (iofile,111) value(locv),nodplc(junode+node1), >*/
- /*< 1 nodplc(junode+node2),nodplc(loc+4) >*/
- io__28.ciunit = status_1.iofile;
- s_wsfe(&io__28);
- do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node1 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node2 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[loc + 3], (ftnlen)sizeof(integer));
- e_wsfe();
- /*< 135 loc=nodplc(loc) >*/
- /* L135: */
- loc = nodplc[loc - 1];
- /*< go to 130 >*/
- goto L130;
-
- /* nonlinear current controlled current sources */
-
- /*< 140 if (jelcnt(7).eq.0) go to 160 >*/
- L140:
- if (cirdat_1.jelcnt[6] == 0) {
- goto L160;
- }
- /*< ititle=0 >*/
- ititle = 0;
- /*< 141 format(//'0**** current-controlled current sources'/'0 name >*/
- /*< 1 + - dimension function') >*/
- /* L141: */
- /*< loc=locate(7) >*/
- loc = cirdat_1.locate[6];
- /*< 150 if ((loc.eq.0).or.(nodplc(loc+13).ne.0)) go to 160 >*/
- L150:
- if (loc == 0 || nodplc[loc + 12] != 0) {
- goto L160;
- }
- /*< if (ititle.eq.0) write (iofile,141) >*/
- if (ititle == 0) {
- io__29.ciunit = status_1.iofile;
- s_wsfe(&io__29);
- e_wsfe();
- }
- /*< ititle=1 >*/
- ititle = 1;
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< node1=nodplc(loc+2) >*/
- node1 = nodplc[loc + 1];
- /*< node2=nodplc(loc+3) >*/
- node2 = nodplc[loc + 2];
- /*< write (iofile,111) value(locv),nodplc(junode+node1), >*/
- /*< 1 nodplc(junode+node2),nodplc(loc+4) >*/
- io__30.ciunit = status_1.iofile;
- s_wsfe(&io__30);
- do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node1 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node2 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[loc + 3], (ftnlen)sizeof(integer));
- e_wsfe();
- /*< 155 loc=nodplc(loc) >*/
- /* L155: */
- loc = nodplc[loc - 1];
- /*< go to 150 >*/
- goto L150;
-
- /* nonlinear current controlled voltage sources */
-
- /*< 160 if (jelcnt(8).eq.0) go to 170 >*/
- L160:
- if (cirdat_1.jelcnt[7] == 0) {
- goto L170;
- }
- /*< ititle=0 >*/
- ititle = 0;
- /*< 161 format(//'0**** current-controlled voltage sources'/'0 name >*/
- /*< 1 + - dimension function') >*/
- /* L161: */
- /*< loc=locate(8) >*/
- loc = cirdat_1.locate[7];
- /*< 165 if ((loc.eq.0).or.(nodplc(loc+14).ne.0)) go to 170 >*/
- L165:
- if (loc == 0 || nodplc[loc + 13] != 0) {
- goto L170;
- }
- /*< if (ititle.eq.0) write (iofile,161) >*/
- if (ititle == 0) {
- io__31.ciunit = status_1.iofile;
- s_wsfe(&io__31);
- e_wsfe();
- }
- /*< ititle=1 >*/
- ititle = 1;
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< node1=nodplc(loc+2) >*/
- node1 = nodplc[loc + 1];
- /*< node2=nodplc(loc+3) >*/
- node2 = nodplc[loc + 2];
- /*< write (iofile,111) value(locv),nodplc(junode+node1), >*/
- /*< 1 nodplc(junode+node2),nodplc(loc+4) >*/
- io__32.ciunit = status_1.iofile;
- s_wsfe(&io__32);
- do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node1 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node2 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[loc + 3], (ftnlen)sizeof(integer));
- e_wsfe();
- /*< 167 loc=nodplc(loc) >*/
- /* L167: */
- loc = nodplc[loc - 1];
- /*< go to 165 >*/
- goto L165;
-
- /* print independent sources */
-
- /*< 170 if ((jelcnt(9)+jelcnt(10)).eq.0) go to 250 >*/
- L170:
- if (cirdat_1.jelcnt[8] + cirdat_1.jelcnt[9] == 0) {
- goto L250;
- }
- /*< ititle=0 >*/
- ititle = 0;
- /*< 171 format(//'0**** independent sources'/'0 name nodes dc >*/
- /*< 1 value ac value ac phase transient'//) >*/
- /* L171: */
- /*< do 245 id=9,10 >*/
- for (id = 9; id <= 10; ++id) {
- /*< loc=locate(id) >*/
- loc = cirdat_1.locate[id - 1];
- /*< 180 if (loc.eq.0) go to 245 >*/
- L180:
- if (loc == 0) {
- goto L245;
- }
- /*< if ((id.eq.9).and.(nodplc(loc+11).ne.0)) go to 245 >*/
- if (id == 9 && nodplc[loc + 10] != 0) {
- goto L245;
- }
- /*< if ((id.eq.10).and.(nodplc(loc+6).ne.0)) go to 245 >*/
- if (id == 10 && nodplc[loc + 5] != 0) {
- goto L245;
- }
- /*< if (ititle.eq.0) write (iofile,171) >*/
- if (ititle == 0) {
- io__33.ciunit = status_1.iofile;
- s_wsfe(&io__33);
- e_wsfe();
- }
- /*< ititle=1 >*/
- ititle = 1;
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< locp=nodplc(loc+5) >*/
- locp = nodplc[loc + 4];
- /*< node1=nodplc(loc+2) >*/
- node1 = nodplc[loc + 1];
- /*< node2=nodplc(loc+3) >*/
- node2 = nodplc[loc + 2];
- /*< itype=nodplc(loc+4)+1 >*/
- itype = nodplc[loc + 3] + 1;
- /*< anam=astyp(itype) >*/
- anam = astyp[itype - 1];
- /*< write (iofile,181) value(locv),nodplc(junode+node1), >*/
- /*< 1 nodplc(junode+node2),value(locv+1),value(locv+2), >*/
- /*< 2 value(locv+3),anam >*/
- io__37.ciunit = status_1.iofile;
- s_wsfe(&io__37);
- do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(
- doublereal));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node1 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node2 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&blank_1.value[locv], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&blank_1.value[locv + 1], (ftnlen)sizeof(
- doublereal));
- do_fio(&c__1, (char *)&blank_1.value[locv + 2], (ftnlen)sizeof(
- doublereal));
- do_fio(&c__1, (char *)&anam, (ftnlen)sizeof(doublereal));
- e_wsfe();
- /*< 181 format(6x,a8,2i5,1p3d11.2,2x,a8) >*/
- /*< if (jtrflg.eq.0) go to 240 >*/
- if (tran_1.jtrflg == 0) {
- goto L240;
- }
- /*< jstart=locp+1 >*/
- jstart = locp + 1;
- /*< go to (240,190,200,210,220,230), itype >*/
- switch (itype) {
- case 1: goto L240;
- case 2: goto L190;
- case 3: goto L200;
- case 4: goto L210;
- case 5: goto L220;
- case 6: goto L230;
- }
- /*< 190 jstop=locp+7 >*/
- L190:
- jstop = locp + 7;
- /*< write (iofile,191) (value(j),j=jstart,jstop) >*/
- io__40.ciunit = status_1.iofile;
- s_wsfe(&io__40);
- i_1 = jstop;
- for (j = jstart; j <= i_1; ++j) {
- do_fio(&c__1, (char *)&blank_1.value[j - 1], (ftnlen)sizeof(
- doublereal));
- }
- e_wsfe();
- /*< 191 format(1h0,42x,'initial value',1pd11.2,/, >*/
- /*< 1 43x,'pulsed value.', d11.2,/, >*/
- /*< 2 43x,'delay time...', d11.2,/, >*/
- /*< 3 43x,'risetime.....', d11.2,/, >*/
- /*< 4 43x,'falltime.....', d11.2,/, >*/
- /*< 5 43x,'width........', d11.2,/, >*/
- /*< 6 43x,'period.......', d11.2,/) >*/
- /*< go to 240 >*/
- goto L240;
- /*< 200 jstop=locp+5 >*/
- L200:
- jstop = locp + 5;
- /*< write (iofile,201) (value(j),j=jstart,jstop) >*/
- io__42.ciunit = status_1.iofile;
- s_wsfe(&io__42);
- i_1 = jstop;
- for (j = jstart; j <= i_1; ++j) {
- do_fio(&c__1, (char *)&blank_1.value[j - 1], (ftnlen)sizeof(
- doublereal));
- }
- e_wsfe();
- /*< 201 format(1h0,42x,'offset.......',1pd11.2,/, >*/
- /*< 1 43x,'amplitude....', d11.2,/, >*/
- /*< 2 43x,'frequency....', d11.2,/, >*/
- /*< 3 43x,'delay........', d11.2,/, >*/
- /*< 4 43x,'theta........', d11.2,/) >*/
- /*< go to 240 >*/
- goto L240;
- /*< 210 jstop=locp+6 >*/
- L210:
- jstop = locp + 6;
- /*< write (iofile,211) (value(j),j=jstart,jstop) >*/
- io__43.ciunit = status_1.iofile;
- s_wsfe(&io__43);
- i_1 = jstop;
- for (j = jstart; j <= i_1; ++j) {
- do_fio(&c__1, (char *)&blank_1.value[j - 1], (ftnlen)sizeof(
- doublereal));
- }
- e_wsfe();
- /*< 211 format(1h0,42x,'initial value',1pd11.2,/, >*/
- /*< 1 43x,'pulsed value.', d11.2,/, >*/
- /*< 2 43x,'rise delay...', d11.2,/, >*/
- /*< 3 43x,'rise tau.....', d11.2,/, >*/
- /*< 4 43x,'fall delay...', d11.2,/, >*/
- /*< 5 43x,'fall tau.....', d11.2,/) >*/
- /*< go to 240 >*/
- goto L240;
- /*< 220 call sizmem(nodplc(loc+5),jstop) >*/
- L220:
- sizmem_(&nodplc[loc + 4], &jstop);
- /*< jstop=locp+jstop >*/
- jstop = locp + jstop;
- /*< write (iofile,221) (value(j),j=jstart,jstop) >*/
- io__44.ciunit = status_1.iofile;
- s_wsfe(&io__44);
- i_1 = jstop;
- for (j = jstart; j <= i_1; ++j) {
- do_fio(&c__1, (char *)&blank_1.value[j - 1], (ftnlen)sizeof(
- doublereal));
- }
- e_wsfe();
- /*< 221 format(1h0,49x,'time value'//,(46x,1p2d11.2)) >*/
- /*< write (iofile,226) >*/
- io__45.ciunit = status_1.iofile;
- s_wsfe(&io__45);
- e_wsfe();
- /*< 226 format(1x) >*/
- /*< go to 240 >*/
- goto L240;
- /*< 230 jstop=locp+5 >*/
- L230:
- jstop = locp + 5;
- /*< write (iofile,231) (value(j),j=jstart,jstop) >*/
- io__46.ciunit = status_1.iofile;
- s_wsfe(&io__46);
- i_1 = jstop;
- for (j = jstart; j <= i_1; ++j) {
- do_fio(&c__1, (char *)&blank_1.value[j - 1], (ftnlen)sizeof(
- doublereal));
- }
- e_wsfe();
- /*< 231 format(1h0,42x,'offset.......',1pd11.2,/, >*/
- /*< 1 43x,'amplitude....', d11.2,/, >*/
- /*< 2 43x,'carrier freq.', d11.2,/, >*/
- /*< 3 43x,'modn index...', d11.2,/, >*/
- /*< 4 43x,'signal freq..', d11.2,/) >*/
- /*< 240 loc=nodplc(loc) >*/
- L240:
- loc = nodplc[loc - 1];
- /*< go to 180 >*/
- goto L180;
- /*< 245 continue >*/
- L245:
- ;}
-
- /* print transmission lines */
-
- /*< 250 if (jelcnt(17).eq.0) go to 260 >*/
- L250:
- if (cirdat_1.jelcnt[16] == 0) {
- goto L260;
- }
- /*< ititle=0 >*/
- ititle = 0;
- /*< 251 format(//'0**** transmission lines'/'0 name nodes >*/
- /*< 1 z0 td'//) >*/
- /* L251: */
- /*< loc=locate(17) >*/
- loc = cirdat_1.locate[16];
- /*< 253 if ((loc.eq.0).or.(nodplc(loc+33).ne.0)) go to 260 >*/
- L253:
- if (loc == 0 || nodplc[loc + 32] != 0) {
- goto L260;
- }
- /*< if (ititle.eq.0) write (iofile,251) >*/
- if (ititle == 0) {
- io__47.ciunit = status_1.iofile;
- s_wsfe(&io__47);
- e_wsfe();
- }
- /*< ititle=1 >*/
- ititle = 1;
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< node1=nodplc(loc+2) >*/
- node1 = nodplc[loc + 1];
- /*< node2=nodplc(loc+3) >*/
- node2 = nodplc[loc + 2];
- /*< node3=nodplc(loc+4) >*/
- node3 = nodplc[loc + 3];
- /*< node4=nodplc(loc+5) >*/
- node4 = nodplc[loc + 4];
- /*< write (iofile,256) value(locv),nodplc(junode+node1), >*/
- /*< 1 nodplc(junode+node2),nodplc(junode+node3), >*/
- /*< 2 nodplc(junode+node4),value(locv+1),value(locv+2) >*/
- io__50.ciunit = status_1.iofile;
- s_wsfe(&io__50);
- do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node1 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node2 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node3 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node4 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&blank_1.value[locv], (ftnlen)sizeof(doublereal));
- do_fio(&c__1, (char *)&blank_1.value[locv + 1], (ftnlen)sizeof(doublereal)
- );
- e_wsfe();
- /*< 256 format(6x,a8,4i5,1p2d11.2) >*/
- /*< 258 loc=nodplc(loc) >*/
- /* L258: */
- loc = nodplc[loc - 1];
- /*< go to 253 >*/
- goto L253;
-
- /* print diodes */
-
- /*< 260 if (jelcnt(11).eq.0) go to 290 >*/
- L260:
- if (cirdat_1.jelcnt[10] == 0) {
- goto L290;
- }
- /*< ititle=0 >*/
- ititle = 0;
- /*< 261 format(//'0**** diodes'/'0 name + - model are >*/
- /*< 1a'//) >*/
- /* L261: */
- /*< loc=locate(11) >*/
- loc = cirdat_1.locate[10];
- /*< 270 if ((loc.eq.0).or.(nodplc(loc+16).ne.0)) go to 290 >*/
- L270:
- if (loc == 0 || nodplc[loc + 15] != 0) {
- goto L290;
- }
- /*< if (ititle.eq.0) write (iofile,261) >*/
- if (ititle == 0) {
- io__51.ciunit = status_1.iofile;
- s_wsfe(&io__51);
- e_wsfe();
- }
- /*< ititle=1 >*/
- ititle = 1;
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< node1=nodplc(loc+2) >*/
- node1 = nodplc[loc + 1];
- /*< node2=nodplc(loc+3) >*/
- node2 = nodplc[loc + 2];
- /*< locm=nodplc(loc+5) >*/
- locm = nodplc[loc + 4];
- /*< locm=nodplc(locm+1) >*/
- locm = nodplc[locm];
- /*< aic=ablnk >*/
- aic = ablnk;
- /*< if (nodplc(loc+6).eq.1) aic=aoff >*/
- if (nodplc[loc + 5] == 1) {
- aic = aoff;
- }
- /*< write (iofile,271) value(locv),nodplc(junode+node1), >*/
- /*< 1 nodplc(junode+node2),value(locm),value(locv+1),aic >*/
- io__54.ciunit = status_1.iofile;
- s_wsfe(&io__54);
- do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node1 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node2 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&blank_1.value[locm - 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&blank_1.value[locv], (ftnlen)sizeof(doublereal));
- do_fio(&c__1, (char *)&aic, (ftnlen)sizeof(doublereal));
- e_wsfe();
- /*< 271 format(6x,a8,2i5,2x,a8,f8.3,2x,a8) >*/
- /*< 280 loc=nodplc(loc) >*/
- /* L280: */
- loc = nodplc[loc - 1];
- /*< go to 270 >*/
- goto L270;
-
- /* print transistors */
-
- /*< 290 if (jelcnt(12).eq.0) go to 320 >*/
- L290:
- if (cirdat_1.jelcnt[11] == 0) {
- goto L320;
- }
- /*< ititle=0 >*/
- ititle = 0;
- /*< 291 format(//'0**** bipolar junction transistors'/'0 name c >*/
- /*< 1 b e s model area'//) >*/
- /* L291: */
- /*< loc=locate(12) >*/
- loc = cirdat_1.locate[11];
- /*< 300 if ((loc.eq.0).or.(nodplc(loc+36).ne.0)) go to 320 >*/
- L300:
- if (loc == 0 || nodplc[loc + 35] != 0) {
- goto L320;
- }
- /*< if (ititle.eq.0) write (iofile,291) >*/
- if (ititle == 0) {
- io__55.ciunit = status_1.iofile;
- s_wsfe(&io__55);
- e_wsfe();
- }
- /*< ititle=1 >*/
- ititle = 1;
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< node1=nodplc(loc+2) >*/
- node1 = nodplc[loc + 1];
- /*< node2=nodplc(loc+3) >*/
- node2 = nodplc[loc + 2];
- /*< node3=nodplc(loc+4) >*/
- node3 = nodplc[loc + 3];
- /*< node4=nodplc(loc+5) >*/
- node4 = nodplc[loc + 4];
- /*< locm=nodplc(loc+8) >*/
- locm = nodplc[loc + 7];
- /*< locm=nodplc(locm+1) >*/
- locm = nodplc[locm];
- /*< aic=ablnk >*/
- aic = ablnk;
- /*< if (nodplc(loc+9).eq.1) aic=aoff >*/
- if (nodplc[loc + 8] == 1) {
- aic = aoff;
- }
- /*< write (iofile,301) value(locv),nodplc(junode+node1), >*/
- /*< 1 nodplc(junode+node2),nodplc(junode+node3),nodplc(junode+node4), >*/
- /*< 2 value(locm),value(locv+1),aic >*/
- io__56.ciunit = status_1.iofile;
- s_wsfe(&io__56);
- do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node1 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node2 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node3 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node4 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&blank_1.value[locm - 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&blank_1.value[locv], (ftnlen)sizeof(doublereal));
- do_fio(&c__1, (char *)&aic, (ftnlen)sizeof(doublereal));
- e_wsfe();
- /*< 301 format(6x,a8,4i5,2x,a8,f8.3,2x,a8) >*/
- /*< 310 loc=nodplc(loc) >*/
- /* L310: */
- loc = nodplc[loc - 1];
- /*< go to 300 >*/
- goto L300;
-
- /* print jfets */
-
- /*< 320 if (jelcnt(13).eq.0) go to 350 >*/
- L320:
- if (cirdat_1.jelcnt[12] == 0) {
- goto L350;
- }
- /*< ititle=0 >*/
- ititle = 0;
- /*< 321 format(//'0**** jfets'/'0 name d g s model >*/
- /*< 1 area'//) >*/
- /* L321: */
- /*< loc=locate(13) >*/
- loc = cirdat_1.locate[12];
- /*< 330 if ((loc.eq.0).or.(nodplc(loc+25).ne.0)) go to 350 >*/
- L330:
- if (loc == 0 || nodplc[loc + 24] != 0) {
- goto L350;
- }
- /*< if (ititle.eq.0) write (iofile,321) >*/
- if (ititle == 0) {
- io__57.ciunit = status_1.iofile;
- s_wsfe(&io__57);
- e_wsfe();
- }
- /*< ititle=1 >*/
- ititle = 1;
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< node1=nodplc(loc+2) >*/
- node1 = nodplc[loc + 1];
- /*< node2=nodplc(loc+3) >*/
- node2 = nodplc[loc + 2];
- /*< node3=nodplc(loc+4) >*/
- node3 = nodplc[loc + 3];
- /*< locm=nodplc(loc+7) >*/
- locm = nodplc[loc + 6];
- /*< locm=nodplc(locm+1) >*/
- locm = nodplc[locm];
- /*< aic=ablnk >*/
- aic = ablnk;
- /*< if (nodplc(loc+8).eq.1) aic=aoff >*/
- if (nodplc[loc + 7] == 1) {
- aic = aoff;
- }
- /*< write (iofile,331) value(locv),nodplc(junode+node1), >*/
- /*< 1 nodplc(junode+node2),nodplc(junode+node3), >*/
- /*< 2 value(locm),value(locv+1),aic >*/
- io__58.ciunit = status_1.iofile;
- s_wsfe(&io__58);
- do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node1 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node2 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node3 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&blank_1.value[locm - 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&blank_1.value[locv], (ftnlen)sizeof(doublereal));
- do_fio(&c__1, (char *)&aic, (ftnlen)sizeof(doublereal));
- e_wsfe();
- /*< 331 format(6x,a8,3i5,2x,a8,f8.3,2x,a8) >*/
- /*< 340 loc=nodplc(loc) >*/
- /* L340: */
- loc = nodplc[loc - 1];
- /*< go to 330 >*/
- goto L330;
-
- /* print mosfets */
-
- /*< 350 if (jelcnt(14).eq.0) go to 400 >*/
- L350:
- if (cirdat_1.jelcnt[13] == 0) {
- goto L400;
- }
- /*< ititle=0 >*/
- ititle = 0;
- /*< 351 format(//'0**** mosfets',/,'0name',6x,'d g s b model',6x, >*/
- /*< 1 'w ad pd rds'/ >*/
- /*< 2 37x,'l as ps rss',//) >*/
- /* L351: */
- /*< loc=locate(14) >*/
- loc = cirdat_1.locate[13];
- /*< 360 if ((loc.eq.0).or.(nodplc(loc+33).ne.0)) go to 400 >*/
- L360:
- if (loc == 0 || nodplc[loc + 32] != 0) {
- goto L400;
- }
- /*< if (ititle.eq.0) write (iofile,351) >*/
- if (ititle == 0) {
- io__59.ciunit = status_1.iofile;
- s_wsfe(&io__59);
- e_wsfe();
- }
- /*< ititle=1 >*/
- ititle = 1;
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< node1=nodplc(loc+2) >*/
- node1 = nodplc[loc + 1];
- /*< node2=nodplc(loc+3) >*/
- node2 = nodplc[loc + 2];
- /*< node3=nodplc(loc+4) >*/
- node3 = nodplc[loc + 3];
- /*< node4=nodplc(loc+5) >*/
- node4 = nodplc[loc + 4];
- /*< locm=nodplc(loc+8) >*/
- locm = nodplc[loc + 7];
- /*< locm=nodplc(locm+1) >*/
- locm = nodplc[locm];
- /*< aic=ablnk >*/
- aic = ablnk;
- /*< if (nodplc(loc+9).eq.1) aic=aoff >*/
- if (nodplc[loc + 8] == 1) {
- aic = aoff;
- }
- /*< write (iofile,361) value(locv),nodplc(junode+node1), >*/
- /*< 1 nodplc(junode+node2),nodplc(junode+node3), >*/
- /*< 2 nodplc(junode+node4),value(locm),value(locv+2), >*/
- /*< 3 value(locv+3),value(locv+11),value(locv+13), >*/
- /*< 4 value(locv+1),value(locv+4),value(locv+12),value(locv+14),aic >*/
- io__60.ciunit = status_1.iofile;
- s_wsfe(&io__60);
- do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node1 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node2 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node3 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&nodplc[tabinf_1.junode + node4 - 1], (ftnlen)
- sizeof(integer));
- do_fio(&c__1, (char *)&blank_1.value[locm - 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&blank_1.value[locv + 1], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&blank_1.value[locv + 2], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&blank_1.value[locv + 10], (ftnlen)sizeof(
- doublereal));
- do_fio(&c__1, (char *)&blank_1.value[locv + 12], (ftnlen)sizeof(
- doublereal));
- do_fio(&c__1, (char *)&blank_1.value[locv], (ftnlen)sizeof(doublereal));
- do_fio(&c__1, (char *)&blank_1.value[locv + 3], (ftnlen)sizeof(doublereal)
- );
- do_fio(&c__1, (char *)&blank_1.value[locv + 11], (ftnlen)sizeof(
- doublereal));
- do_fio(&c__1, (char *)&blank_1.value[locv + 13], (ftnlen)sizeof(
- doublereal));
- do_fio(&c__1, (char *)&aic, (ftnlen)sizeof(doublereal));
- e_wsfe();
- /*< 361 format(1x,a8,4i4,1x,a8,1p4d8.1,/34x,1p4d8.1,1x,a8) >*/
- /*< 370 loc=nodplc(loc) >*/
- /* L370: */
- loc = nodplc[loc - 1];
- /*< go to 360 >*/
- goto L360;
-
- /* subcircuit calls */
-
- /*< 400 if (jelcnt(19).eq.0) go to 500 >*/
- L400:
- if (cirdat_1.jelcnt[18] == 0) {
- goto L500;
- }
- /*< ititle=0 >*/
- ititle = 0;
- /*< 401 format(//'0**** subcircuit calls'/'0 name subcircuit ext >*/
- /*< 1ernal nodes'//) >*/
- /* L401: */
- /*< loc=locate(19) >*/
- loc = cirdat_1.locate[18];
- /*< 410 if (loc.eq.0) go to 500 >*/
- L410:
- if (loc == 0) {
- goto L500;
- }
- /*< if (ititle.eq.0) write (iofile,401) >*/
- if (ititle == 0) {
- io__61.ciunit = status_1.iofile;
- s_wsfe(&io__61);
- e_wsfe();
- }
- /*< ititle=1 >*/
- ititle = 1;
- /*< locv=nodplc(loc+1) >*/
- locv = nodplc[loc];
- /*< locn=nodplc(loc+2) >*/
- locn = nodplc[loc + 1];
- /*< call sizmem(nodplc(loc+2),nnodx) >*/
- sizmem_(&nodplc[loc + 1], &nnodx);
- /*< locs=nodplc(loc+3) >*/
- locs = nodplc[loc + 2];
- /*< locsv=nodplc(locs+1) >*/
- locsv = nodplc[locs];
- /*< jstart=1 >*/
- jstart = 1;
- /*< ndprln=(lwidth-28)/5 >*/
- ndprln = (miscel_1.lwidth - 28) / 5;
- /*< 412 jstop=min0(nnodx,jstart+ndprln-1) >*/
- L412:
- /* Computing MAX */
- i_1 = nnodx, i_2 = jstart + ndprln - 1;
- jstop = min(i_2,i_1);
- /*< do 414 j=jstart,jstop >*/
- i_1 = jstop;
- for (j = jstart; j <= i_1; ++j) {
- /*< node=nodplc(locn+j) >*/
- node = nodplc[locn + j - 1];
- /*< itab(j-jstart+1)=nodplc(junode+node) >*/
- itab[j - jstart] = nodplc[tabinf_1.junode + node - 1];
- /*< 414 continue >*/
- /* L414: */
- }
- /*< if (jstart.eq.1) >*/
- /*< 1 write (iofile,416) value(locv),value(locsv),(itab(j),j=1,jstop) >*/
- if (jstart == 1) {
- io__69.ciunit = status_1.iofile;
- s_wsfe(&io__69);
- do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(
- doublereal));
- do_fio(&c__1, (char *)&blank_1.value[locsv - 1], (ftnlen)sizeof(
- doublereal));
- i_1 = jstop;
- for (j = 1; j <= i_1; ++j) {
- do_fio(&c__1, (char *)&itab[j - 1], (ftnlen)sizeof(integer));
- }
- e_wsfe();
- }
- /*< 416 format(6x,a8,2x,a8,4x,20i5) >*/
- /*< if (jstart.ne.1) >*/
- /*< 1 write (iofile,418) (itab(j-jstart+1),j=jstart,jstop) >*/
- if (jstart != 1) {
- io__70.ciunit = status_1.iofile;
- s_wsfe(&io__70);
- i_1 = jstop;
- for (j = jstart; j <= i_1; ++j) {
- do_fio(&c__1, (char *)&itab[j - jstart], (ftnlen)sizeof(integer));
-
- }
- e_wsfe();
- }
- /*< 418 format(28x,20i5) >*/
- /*< jstart=jstop+1 >*/
- jstart = jstop + 1;
- /*< if (jstart.le.nnodx) go to 412 >*/
- if (jstart <= nnodx) {
- goto L412;
- }
- /*< if (nnodx.le.ndprln) go to 420 >*/
- if (nnodx <= ndprln) {
- goto L420;
- }
- /*< write (iofile,226) >*/
- io__71.ciunit = status_1.iofile;
- s_wsfe(&io__71);
- e_wsfe();
- /*< 420 loc=nodplc(loc) >*/
- L420:
- loc = nodplc[loc - 1];
- /*< go to 410 >*/
- goto L410;
-
- /* finished */
-
- /*< 500 return >*/
- L500:
- return 0;
- /*< end >*/
- } /* elprnt_ */
-
- #undef cvalue
- #undef nodplc
- #undef aoff
- #undef ablnk
- #undef astyp
- #undef eltitl
-
-
-